今天是css變數的應用方式,成品如下方:
以及個人codepen
css本身可以像sass、scss一樣有變數功能,在全局:root設定的話,就可以在任何地方使用var(你設定的變數名稱)去取用,如下:
:root {
--bg: #111;
}
body {
background: var(--bg);
}
const inputs = document.querySelectorAll("input[type]");
inputs.forEach((input) => {
input.addEventListener("input", setProperty);
})
inputs.forEach((input) => {
input.addEventListener("change", setProperty);
})
事件方法 | 介紹 |
---|---|
input | 當使用者操作結束前,會不停的觸發事件 |
change | 直到使用著操作結束之後,觸發一次事件 |
()中的參數,第一個為必須要放入的,你想要得到哪一個元素的css所有屬性,第二個是可選擇性的,這邊不會操作到偽元素,所以不代入.
const ooxx = window.getComputedStyle(document.documentElement);
window.getComputedStyle(element, null);
const defalutPadding = window.getComputedStyle(document.documentElement).getPropertyValue("--pd");
// 取得整個文件的元素,並且我在:root有設置css變數--pd.
document.documentElement.style.setProperty('--pd', `${1 * e.target.value / 10}px`);
用了一個比較麻煩的方式去動態更動css屬性,其實只要取得input的值,然後直接對該元素去寫style的樣式就快很多哈哈
因為知道了這個getComputedStyle屬性,想練習看看,就拿來用了.